1. Field of the Invention
The present application relates to handling of hot-plug events in computer systems and more particularly to handling change in mismatch status when an add-in card is inserted or removed.
2. Description of the Related Art
Computing systems are information handling systems which are designed to give independent computing power to one or more users. Computing systems can be found in many forms including, for example, mainframes, minicomputers, workstations, servers, personal computers, internet terminals, notebooks and embedded systems. Personal computer (PC) systems include desk top, floor standing, or portable versions. A typical PC system is a microcomputer that includes a microprocessor, associated memory and control logic (typically on a system board) and a number of peripheral devices that provide input and/or output (I/O) for the system. PC system boards often receive expansion printed circuit boards (PCBs) to increase the capabilities of the computer system and to connect to peripheral devices through an expansion bus.
Generally, computer systems include multiple extension slots on a communication bus to provide access to external peripheral devices using add-in cards. The architecture and functioning of the communication bus and interfaces can be standardized throughout the computer industry to allow multiple equipment vendors to provide external peripheral devices for the computer systems. One such standard is PCI Hot-Plug Specification, Rev. 1.0 and 1.1 defined by PCI Special Interest Group and incorporated herein by reference in its entirety. Add-in cards expand the functionality of the computer system and can be, for example, a network interface card, a game card, and the like.
PCI Hot-Plug specification defines some of the key aspects of a process of inserting and removing add-in cards in the extension slots of a PCI bus in a computer system while the computer system is running. PCI Hot-Plug specification allows a hardware platform such as a computer system to accept a hot-plug event such as an insertion or removal of an add-in card without rebooting the computer system. Typically, the hot-plug events are controlled by a hot-plug controller in the computer system. A hot-plug event driver in the computer system processes the hot-plug events for the hot-plug controller. PCI Special Interest Group has also defined a standard for hot-plug controllers in PCI Standard Hot-Plug Controller and Subsystem Specification Rev. 1.0 (“controller specification”) incorporated herein by reference in its entirety.
The controller specification defines the general interface of hot-plug events with the hardware platform. However, the controller specification does not specify the handling of add-in cards having different performance levels in the extension slots. According to the controller specification, when an add-in card with a performance mismatch is inserted, that is, the add-in card is not capable of running at the current bus interface performance level, the card is simply not enabled. Additionally, when a card is removed, the remaining cards are not affected. This method assures no interruption in currently enabled cards, however, lower levels of performance and the inability to use an add-in card can occur.